package smoker.tools;

import java.io.*;
import java.security.*;
import sun.misc.BASE64Encoder;

public class DataManager {

	public static boolean isNumeric(String str) {
		if (str.trim().length() == 0) {
			return false;
		}
		for (int i = 0; i < str.length(); i++) {
			char c = str.charAt(i);
			if (!Character.isDigit(c)) {
				return false;
			}
		}
		return true;
	}

	public static boolean isLegitimacyIP(String strIP) {
		int ptionCount = 0;
		if (strIP.trim().length() < 7 || strIP.trim().length() > 15) {
			return false;
		}
		for (int i = 0; i < strIP.length(); i++) {
			char c = strIP.charAt(i);
			if (c == '.') {
				ptionCount++;
				continue;
			} else if (!Character.isDigit(c)) {
				return false;
			}
		}
		if (ptionCount != 3) {
			return false;
		}
		String tempIP = strIP.replace('.', ';');
		String[] ip = tempIP.split(";");
		for (int i = 0; i < ip.length; i++) {
			if (Integer.parseInt(ip[i]) > 255) {
				return false;
			}
		}
		return true;
	}

	public String EncoderByMd5(String password) {
		String md5Password = null;
		try {
			MessageDigest md5 = MessageDigest.getInstance("MD5");
			BASE64Encoder base64en = new BASE64Encoder();
			md5Password = base64en.encode(md5
					.digest(password.getBytes("utf-8")));
		} catch (NoSuchAlgorithmException e) {
			e.printStackTrace();
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		return md5Password;
	}

	public static boolean isDate(String date) {
		return true;
	}

	public static boolean isEmail(String email) {
		return true;
	}
}
